﻿using System;
using System.Text;
using System.Web.UI;
using System.Web.Security;
using SGAEntidades;
using SGALogicaNegocio;
using System.Collections.Generic;
using System.Web.UI.WebControls;

namespace webSGA
{
    public partial class wfSeguros : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!IsPostBack)
                {
                    lblUsuario.Text = Context.User.Identity.Name;
                    Util.Util.CargarTipoSeguro(cboTipoPoliza, true);
                    Util.Util.CargarTipoSeguro(cboTipoPolizaC, true);
                    Util.Util.CargarMoneda(cboMoneda, true);
                    hfAccion.Value = "N";
                    Session["DetalleSeguro"] = null;
                }
            }
            catch (Exception ex)
            {
                Util.Util.AlternarMensaje(false, "Ocurrió el siguiente error: " + ex.Message, alertaError, alertaExito,
                                                  lblError, lblExito);
            }
        }

        private void LimpiarCampos()
        {
            txtPoliza.Text = "";
            cboTipoPoliza.SelectedValue = "-1";
            cboMoneda.SelectedValue = "-1";
            txtProveedor.Text = "";
            txtRazonSocial.Text = "";
            txtAsegurado.Text = "";
            txtDescripcion.Text = "";
            txtFechaInicioVigencia.Text = "";
            txtFechaFinVigencia.Text = "";
            txtMontoAsegurado.Text = "";
            txtCobertura.Text = "";
            gvBienes.DataSource = null;
            Session["DetalleImplementacion"] = null;
        }

        private void ActivarDesactivarCampos(Boolean bEstado)
        {
            txtPoliza.Enabled = bEstado;
            cboTipoPoliza.Enabled = bEstado;
            txtAsegurado.Enabled = bEstado;
            txtDescripcion.Enabled = bEstado;
            txtFechaInicioVigencia.Enabled = bEstado;
            txtFechaFinVigencia.Enabled = bEstado;
            txtMontoAsegurado.Enabled = bEstado;
            cboMoneda.Enabled = bEstado;
            txtCobertura.Enabled = bEstado;
            //gvCheckList.Enabled = false;
        }

        protected void btnNuevo_Click(object sender, EventArgs e)
        {
            hfAccion.Value = "N";
            LimpiarCampos();
            ActivarDesactivarCampos(true);
        }

        protected void btnGrabar_Click(object sender, EventArgs e)
        {
            try
            {
                MostrarModalConfirmacion();
            }
            catch (Exception ex)
            {
                Util.Util.AlternarMensaje(false, "Ocurrió el siguiente error: " + ex.Message, alertaError, alertaExito,
                                                  lblError, lblExito);
            }
        }

        private void MostrarModalConfirmacion()
        {
            var sb = new StringBuilder();
            sb.Append(@"<script type='text/javascript'>");
            sb.Append("$('#modalConfirmacion').modal('show');");
            sb.Append(@"</script>");
            ClientScript.RegisterStartupScript(GetType(), "Show", sb.ToString());
            ScriptManager.RegisterClientScriptBlock(this, GetType(), "ModalScript", sb.ToString(), false);
        }

        protected void btnEditar_Click(object sender, EventArgs e)
        {
            hfAccion.Value = "M";
            ActivarDesactivarCampos(true);
        }

        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            if (hfAccion.Value.Equals("N"))
                LimpiarCampos();
            else
                ActivarDesactivarCampos(false);
            hfAccion.Value = "";
        }

        protected void btnAgregarBien_Click(object sender, EventArgs e)
        {
            try
            {
                var oDetallePoliza = new List<PolizaSeguroDetalleInfo>();
                if (Session["DetalleSeguro"] != null)
                {
                    oDetallePoliza = (List<PolizaSeguroDetalleInfo>)Session["DetalleSeguro"];
                }
                var oEntDetalle = new PolizaSeguroDetalleInfo(txtPoliza.Text, cboTipoPoliza.SelectedValue, txtProveedor.Text, null, null, new TipoBienAseguradoInfo(), null, null, null, null);

                oDetallePoliza.Add(oEntDetalle);
                Session["DetalleSeguro"] = oDetallePoliza;
                Bind();
            }
            catch (Exception ex)
            {
                Util.Util.AlternarMensaje(false, "Ocurrió el siguiente error: " + ex.Message, alertaError, alertaExito,
                                                  lblError, lblExito);
            }
        }

        private void Bind()
        {
            try
            {
                var oDetallePoliza = new List<PolizaSeguroDetalleInfo>();
                if (Session["DetalleSeguro"] != null)
                {
                    oDetallePoliza = (List<PolizaSeguroDetalleInfo>)Session["DetalleSeguro"];
                }

                Session["DetalleSeguro"] = oDetallePoliza;
                gvBienes.DataSource = oDetallePoliza;
                gvBienes.DataBind();
            }
            catch (Exception ex)
            {
                Util.Util.AlternarMensaje(false, "Ocurrió el siguiente error: " + ex.Message, alertaError, alertaExito,
                                                  lblError, lblExito);
            }
        }

        protected void btnQuitarBien_Click(object sender, EventArgs e)
        {

        }

        protected void btnCerrarSesion_Click(object sender, EventArgs e)
        {
            FormsAuthentication.SignOut();
            Response.Redirect("Login.aspx");
        }

        protected void btnSiGrabar_Click(object sender, EventArgs e)
        {
            try
            {
                GrabarPoliza();
                CargarPoliza(txtPoliza.Text, txtProveedor.Text, cboTipoPoliza.SelectedValue);
            }
            catch (Exception ex)
            {
                Util.Util.AlternarMensaje(false, "Ocurrió el siguiente error: " + ex.Message, alertaError, alertaExito,
                                                  lblError, lblExito);
                UpdatePanel2.Update();
                ScriptManager.RegisterClientScriptBlock(this, Page.GetType(), "ToTheTop", "ToTopOfPage();", true);
            }
        }

        private void CargarPoliza(String sNroPoliza, String sProveedor, String sTipoPoliza)
        {
            var oEntPoliza = new PolizaSeguroInfo(sNroPoliza, sTipoPoliza, sProveedor, null, null, null, null);
            oEntPoliza = new PolizaSeguro().Consultar(oEntPoliza);

            if (oEntPoliza.NroPoliza != null)
            {
                txtPoliza.Text = oEntPoliza.NroPoliza;
                txtProveedor.Text = oEntPoliza.RucProveedor;
                txtRazonSocial.Text = oEntPoliza.Proveedor.RazonSocial;
                cboTipoPoliza.SelectedValue = oEntPoliza.IdTipoSeguro;
                txtAsegurado.Text = oEntPoliza.Asegurado;
                txtDescripcion.Text = oEntPoliza.Descripcion;
                txtCobertura.Text = oEntPoliza.Cobertura;
                if (oEntPoliza.FechaInicioVigencia != null)
                    txtFechaInicioVigencia.Text = oEntPoliza.FechaInicioVigencia.Value.ToShortDateString();
                if (oEntPoliza.FechaFinVigencia != null)
                    txtFechaFinVigencia.Text = oEntPoliza.FechaFinVigencia.Value.ToShortDateString();
                cboMoneda.SelectedValue = oEntPoliza.IdMoneda;
                txtMontoAsegurado.Text = String.Format("{0:0.00}", oEntPoliza.SumaAsegurada);

                oEntPoliza.Detalle =
                    new PolizaSeguroDetalle().Listar(new PolizaSeguroDetalleInfo(oEntPoliza.NroPoliza,
                                                                                 oEntPoliza.IdTipoSeguro,
                                                                                 oEntPoliza.RucProveedor));
                Session["DetalleSeguro"] = oEntPoliza.Detalle;
                Bind();
                ActivarDesactivarCampos(false);
            }
            else
            {
                Util.Util.AlternarMensaje(false, "No se encontró la hoja de ruta indicada.", alertaError, alertaExito,
                              lblError, lblExito);
                UpdatePanel2.Update();
                ScriptManager.RegisterClientScriptBlock(this, Page.GetType(), "ToTheTop", "ToTopOfPage();", true);
            }

        }

        private Boolean ValidarInformacion()
        {
            if (String.IsNullOrEmpty(txtPoliza.Text))
            {
                Util.Util.AlternarMensaje(false, "Debe ingresar el número de póliza.", alertaError, alertaExito, lblError, lblExito);
                return false;
            }
            if (String.IsNullOrEmpty(txtProveedor.Text))
            {
                Util.Util.AlternarMensaje(false, "Debe ingresar el número de póliza.", alertaError, alertaExito, lblError, lblExito);
                return false;
            }
            if (cboTipoPoliza.SelectedValue.Equals("-1"))
            {
                Util.Util.AlternarMensaje(false, "Debe seleccionar el póliza.", alertaError, alertaExito, lblError, lblExito);
                return false;
            }
            if (String.IsNullOrEmpty(txtAsegurado.Text))
            {
                Util.Util.AlternarMensaje(false, "Debe ingresar el asegurado de la póliza.", alertaError, alertaExito, lblError, lblExito);
                return false;
            }
            if (String.IsNullOrEmpty(txtFechaInicioVigencia.Text))
            {
                Util.Util.AlternarMensaje(false, "Debe indicar la fecha de inicio de vigencia de la póliza.", alertaError, alertaExito, lblError, lblExito);
                return false;
            }

            if (String.IsNullOrEmpty(txtFechaFinVigencia.Text))
            {
                Util.Util.AlternarMensaje(false, "Debe indicar la fecha de fin de vigencia de la póliza.", alertaError, alertaExito, lblError, lblExito);
                return false;
            }

            if (!Util.Util.EsFechaValida(txtFechaInicioVigencia.Text))
            {
                Util.Util.AlternarMensaje(false, "La fecha de inicio de vigencia de la póliza no tiene un formato válido. Debe ser dd/mm/yyyy.", alertaError, alertaExito, lblError, lblExito);
                return false;
            }

            if (!Util.Util.EsFechaValida(txtFechaFinVigencia.Text))
            {
                Util.Util.AlternarMensaje(false, "La fecha de fin de vigencia de la póliza no tiene un formato válido. Debe ser dd/mm/yyyy.", alertaError, alertaExito, lblError, lblExito);
                return false;
            }

            if (cboMoneda.SelectedValue.Equals("-1"))
            {
                Util.Util.AlternarMensaje(false, "Debe seleccionar la moneda del importe de la póliza.", alertaError, alertaExito, lblError, lblExito);
                return false;
            }

            if (String.IsNullOrEmpty(txtMontoAsegurado.Text))
            {
                Util.Util.AlternarMensaje(false, "Debe indicar el monto asegurado de la póliza.", alertaError, alertaExito, lblError, lblExito);
                return false;
            }

            if (!Util.Util.EsNumerico(txtMontoAsegurado.Text))
            {
                Util.Util.AlternarMensaje(false, "El monto asegurado de la póliza no es un número válido.", alertaError, alertaExito, lblError, lblExito);
                return false;
            }
            if (gvBienes.Rows.Count == 0)
            {
                Util.Util.AlternarMensaje(false, "Debe ingresar al menos una línea de detalle en la póliza.", alertaError, alertaExito, lblError, lblExito);
                return false;
            }


            return true;
        }

        private void GrabarPoliza()
        {
            if (ValidarInformacion())
            {
                var oEntPoliza = new PolizaSeguroInfo();

                oEntPoliza.NroPoliza = txtPoliza.Text;
                oEntPoliza.RucProveedor = txtProveedor.Text;
                oEntPoliza.IdTipoSeguro = cboTipoPoliza.SelectedValue;
                oEntPoliza.Asegurado = txtAsegurado.Text;
                oEntPoliza.Descripcion = txtDescripcion.Text;
                oEntPoliza.Cobertura = txtCobertura.Text;
                oEntPoliza.FechaInicioVigencia = DateTime.Parse(txtFechaInicioVigencia.Text);
                oEntPoliza.FechaFinVigencia = DateTime.Parse(txtFechaFinVigencia.Text);
                oEntPoliza.SumaAsegurada = Double.Parse(txtMontoAsegurado.Text);
                oEntPoliza.IdMoneda = cboMoneda.SelectedValue;
                oEntPoliza.IdUsuarioSistema = Context.User.Identity.Name;

                if (Session["DetalleSeguro"] != null)
                {
                    oEntPoliza.Detalle = (List<PolizaSeguroDetalleInfo>)Session["DetalleSeguro"];
                }

                if (hfAccion.Value.Equals("N"))
                {
                    if (new PolizaSeguro().Registrar(oEntPoliza))
                    {
                        Util.Util.AlternarMensaje(true, "Se registró la póliza de seguro con éxito.", alertaError, alertaExito,
                                                  lblError, lblExito);
                        ActivarDesactivarCampos(false);
                    }
                    else
                    {
                        Util.Util.AlternarMensaje(false, "No se registró la póliza de seguro.", alertaError, alertaExito,
                              lblError, lblExito);
                    }
                }
                if (hfAccion.Value.Equals("M"))
                {
                    if (new PolizaSeguro().Actualizar(oEntPoliza))
                    {
                        Util.Util.AlternarMensaje(true, "Se actualizó la póliza de seguro con éxito.", alertaError, alertaExito,
                                                  lblError, lblExito);
                        ActivarDesactivarCampos(false);
                    }
                    else
                    {
                        Util.Util.AlternarMensaje(false, "No se actualizó la póliza de seguro.", alertaError, alertaExito,
                              lblError, lblExito);
                    }
                }
            }
        }

        protected void btnBuscarProveedor_Click(object sender, EventArgs e)
        {
            gvConsultaProveedor.DataSource = null;

            var sb = new StringBuilder();
            sb.Append(@"<script type='text/javascript'>");
            sb.Append("$('#modalBusquedaProveedor').modal('show');");
            sb.Append(@"</script>");
            ClientScript.RegisterStartupScript(GetType(), "Show", sb.ToString());
            ScriptManager.RegisterClientScriptBlock(this, GetType(), "ModalScript", sb.ToString(), false);
        }

        protected void gvConsultaProveedor_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                int index = Convert.ToInt32(e.CommandArgument);
                var dataKey = gvConsultaProveedor.DataKeys[index];
                String sRucProveedor = "";
                if (dataKey != null)
                {
                    sRucProveedor = dataKey.Value.ToString();
                }

                if (e.CommandName.Equals("Seleccionar"))
                {
                    var oEntProveedor = new Proveedor().Consultar(new ProveedorInfo(sRucProveedor, null));
                    txtProveedor.Text = oEntProveedor.RucProveedor;
                    txtRazonSocial.Text = oEntProveedor.RazonSocial;

                    var sb = new StringBuilder();
                    sb.Append(@"<script type='text/javascript'>");
                    sb.Append("$('#modalBusquedaProveedor').modal('hide');");
                    sb.Append(@"</script>");
                    ClientScript.RegisterStartupScript(GetType(), "Hide", sb.ToString());
                    ScriptManager.RegisterClientScriptBlock(this, GetType(), "ModalScript", sb.ToString(), false);
                }
            }
            catch (Exception ex)
            {
                Util.Util.AlternarMensaje(false, "Ocurrió un error: " + ex.Message, alertaError, alertaExito, lblError, lblExito);
            }
        }

        protected void btnConsultarProveedor_Click(object sender, EventArgs e)
        {
            try
            {
                var sRucProveedor = String.IsNullOrEmpty(txtRucProveedorC.Text.Trim())
                                           ? null
                                           : txtRucProveedorC.Text.Trim();
                var sRazonSocial = String.IsNullOrEmpty(txtRazonSocialC.Text.Trim())
                                          ? null
                                          : txtRazonSocialC.Text.Trim();

                gvConsultaProveedor.DataSource = new Proveedor().Listar(new ProveedorInfo(sRucProveedor, sRazonSocial));
                gvConsultaProveedor.DataBind();
            }
            catch (Exception ex)
            {
                Util.Util.AlternarMensaje(false, "Ocurrió el siguiente error: " + ex.Message, alertaError, alertaExito,
                                  lblError, lblExito);
            }
        }

        protected void gvBienes_RowEditing(object sender, GridViewEditEventArgs e)
        {
            gvBienes.EditIndex = e.NewEditIndex;
            Bind();
        }

        protected void gvBienes_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            try
            {
                var fila = gvBienes.Rows[e.RowIndex];
                var nFila = e.RowIndex + 1;

                var lblItemG = (Label)fila.FindControl("lblItemG");
                var cboTipoBienG = (DropDownList)fila.FindControl("cboTipoBienG");
                var txtDescripcionG = (TextBox)fila.FindControl("txtDescripcionG");
                var txtFechaInclusionG = (TextBox)fila.FindControl("txtFechaInclusionG");
                var txtValorG = (TextBox)fila.FindControl("txtValorG");

                if (!Util.Util.EsNumerico(txtValorG.Text))
                {
                    Util.Util.AlternarMensaje(false, "Debe ingresar un valor del bien válido.", alertaError, alertaExito, lblError, lblExito);
                    UpdatePanel2.Update();
                    ScriptManager.RegisterClientScriptBlock(this, Page.GetType(), "ToTheTop", "ToTopOfPage();", true);
                    return;
                }

                if (!Util.Util.EsFechaValida(txtFechaInclusionG.Text))
                {
                    Util.Util.AlternarMensaje(false, "Debe ingresar una fecha de inclusión válida.", alertaError, alertaExito, lblError, lblExito);
                    UpdatePanel2.Update();
                    ScriptManager.RegisterClientScriptBlock(this, Page.GetType(), "ToTheTop", "ToTopOfPage();", true);
                    return;
                }

                if (cboTipoBienG.SelectedValue.Equals("-1"))
                {
                    Util.Util.AlternarMensaje(false, "Debe seleccionar un tipo de bien asegurado.", alertaError, alertaExito, lblError, lblExito);
                    UpdatePanel2.Update();
                    ScriptManager.RegisterClientScriptBlock(this, Page.GetType(), "ToTheTop", "ToTopOfPage();", true);
                    return;
                }

                var oDetallePoliza = new List<PolizaSeguroDetalleInfo>();
                if (Session["DetalleSeguro"] != null)
                {
                    oDetallePoliza = (List<PolizaSeguroDetalleInfo>)Session["DetalleSeguro"];
                }

                for (int i = 0; i <= oDetallePoliza.Count - 1; i++)
                {
                    if (!oDetallePoliza[i].Item.HasValue)
                    {
                        oDetallePoliza[i].Item = nFila;
                        oDetallePoliza[i].TipoBienAsegurado.IdTipoBienAsegurado = cboTipoBienG.SelectedValue;
                        oDetallePoliza[i].TipoBienAsegurado.Descripcion = cboTipoBienG.SelectedItem.Text;
                        oDetallePoliza[i].IdTipoBienAsegurado = cboTipoBienG.SelectedValue;
                        oDetallePoliza[i].Descripcion = txtDescripcionG.Text;
                        oDetallePoliza[i].FechaInclusion = DateTime.Parse(txtFechaInclusionG.Text);
                        oDetallePoliza[i].ValorBien = Double.Parse(txtValorG.Text);
                    }
                    else
                    {
                        if (!String.IsNullOrEmpty(lblItemG.Text))
                        {
                            if (oDetallePoliza[i].Item == Int32.Parse(lblItemG.Text))
                            {
                                oDetallePoliza[i].Item = nFila;
                                oDetallePoliza[i].TipoBienAsegurado.IdTipoBienAsegurado = cboTipoBienG.SelectedValue;
                                oDetallePoliza[i].TipoBienAsegurado.Descripcion = cboTipoBienG.SelectedItem.Text;
                                oDetallePoliza[i].IdTipoBienAsegurado = cboTipoBienG.SelectedValue;
                                oDetallePoliza[i].Descripcion = txtDescripcionG.Text;
                                oDetallePoliza[i].FechaInclusion = DateTime.Parse(txtFechaInclusionG.Text);
                                oDetallePoliza[i].ValorBien = Double.Parse(txtValorG.Text);
                            }
                        }
                    }
                }
                Session["DetalleSeguro"] = oDetallePoliza;
                gvBienes.EditIndex = -1;
                Bind();
            }
            catch (Exception ex)
            {
                Util.Util.AlternarMensaje(false, "Ocurrió un error al actualizar la ruta: " + ex.Message, alertaError, alertaExito, lblError, lblExito);
                UpdatePanel2.Update();
                ScriptManager.RegisterClientScriptBlock(this, Page.GetType(), "ToTheTop", "ToTopOfPage();", true);
            }
        }

        protected void gvBienes_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            gvBienes.EditIndex = -1;
            Bind();
        }

        protected void gvBienes_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                //GridViewRow row = (GridViewRow)gvRuta.Rows[e.Row.FindControl()];

                var cboTipoBienG = (DropDownList)e.Row.FindControl("cboTipoBienG");
                //var lblDistritoG = (Label) e.Row.FindControl("lblDistritoG");
                if (cboTipoBienG != null)
                {
                    Util.Util.CargarTipoBienAsegurado(cboTipoBienG, true);

                    //if (!String.IsNullOrEmpty(hfUltimoIdDistrito.Value))
                    //    cboDistritoOrigenG.SelectedValue = hfUltimoIdDistrito.Value;
                }
            }
        }

        protected void btnBuscarPoliza_Click(object sender, EventArgs e)
        {
            var sb = new StringBuilder();
            sb.Append(@"<script type='text/javascript'>");
            sb.Append("$('#modalBusquedaPoliza').modal('show');");
            sb.Append(@"</script>");
            ClientScript.RegisterStartupScript(GetType(), "Show", sb.ToString());
            ScriptManager.RegisterClientScriptBlock(this, GetType(), "ModalScript", sb.ToString(), false);

        }

        protected void btnConsultarPoliza_Click(object sender, EventArgs e)
        {
            String sNroPoliza = String.IsNullOrEmpty(txtPolizaC.Text.Trim()) ? null : txtPolizaC.Text.Trim();
            String sRuc = String.IsNullOrEmpty(txtRucProveedorCP.Text.Trim())
                                   ? null
                                   : txtRucProveedorCP.Text.Trim();
            String sTipoPoliza = cboTipoPolizaC.SelectedValue.Equals("-1") ? null : cboTipoPolizaC.SelectedValue;
            DateTime? dFechaIniVigenciaDesde;
            DateTime? dFechaIniVigenciaHasta;
            DateTime? dFechaFinVigenciaDesde;
            DateTime? dFechaFinVigenciaHasta;

            if (String.IsNullOrEmpty(txtFechaInicioDesde.Text.Trim()))
                dFechaIniVigenciaDesde = null;
            else
                dFechaIniVigenciaDesde = DateTime.Parse(txtFechaInicioDesde.Text.Trim());

            if (String.IsNullOrEmpty(txtFechaInicioHasta.Text.Trim()))
                dFechaIniVigenciaHasta = null;
            else
                dFechaIniVigenciaHasta = DateTime.Parse(txtFechaInicioHasta.Text.Trim());

            if (String.IsNullOrEmpty(txtFechaFinDesde.Text.Trim()))
                dFechaFinVigenciaDesde = null;
            else
                dFechaFinVigenciaDesde = DateTime.Parse(txtFechaFinDesde.Text.Trim());

            if (String.IsNullOrEmpty(txtFechaFinHasta.Text.Trim()))
                dFechaFinVigenciaHasta = null;
            else
                dFechaFinVigenciaHasta = DateTime.Parse(txtFechaFinHasta.Text.Trim());

            gvConsultaPoliza.DataSource =
                new PolizaSeguro().Listar(new PolizaSeguroInfo(sNroPoliza, sTipoPoliza, sRuc, dFechaIniVigenciaDesde,
                                                               dFechaIniVigenciaHasta, dFechaFinVigenciaDesde,
                                                               dFechaFinVigenciaHasta));
            gvConsultaPoliza.DataBind();
        }

        protected void gvConsultaPoliza_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                int index = Convert.ToInt32(e.CommandArgument);
                var dataKey = gvConsultaPoliza.DataKeys[index];
                String sNroPoliza = "";
                String sRucProveedor = "";
                String sTipoPoliza = "";

                if (dataKey != null)
                {
                    if (dataKey.Values != null)
                    {
                        sNroPoliza = dataKey.Values[0].ToString();
                        sRucProveedor = dataKey.Values[1].ToString();
                        sTipoPoliza = dataKey.Values[2].ToString();
                    }

                }

                if (e.CommandName.Equals("Seleccionar"))
                {
                    CargarPoliza(sNroPoliza, sRucProveedor, sTipoPoliza);
                    ActivarDesactivarCampos(false);

                    var sb = new StringBuilder();
                    sb.Append(@"<script type='text/javascript'>");
                    sb.Append("$('#modalBusquedaPoliza').modal('hide');");
                    sb.Append(@"</script>");
                    ClientScript.RegisterStartupScript(GetType(), "Hide", sb.ToString());
                    ScriptManager.RegisterClientScriptBlock(this, GetType(), "ModalScript", sb.ToString(), false);
                }
            }
            catch (Exception ex)
            {
                Util.Util.AlternarMensaje(false, "Ocurrió un error: " + ex.Message, alertaError, alertaExito, lblError, lblExito);
            }
        }
    }
}